arp-scan hat das Zielsystem mit der IP-Adresse 192.168.2.123 und der MAC-Adresse 08:00:27:f8:cc:57 gefunden. Der Hersteller der Netzwerkkarte ist PCS Systemtechnik GmbH, was auf eine virtuelle Maschine hindeutet (Oracle VirtualBox).
Als nächstes verwenden wir nmap, um offene Ports, Dienste und Betriebssysteminformationen auf dem Zielsystem zu identifizieren. Wir führen einen umfassenden Scan mit aktivierter Serviceerkennung, OS-Erkennung und Skriptausführung durch.
nmap hat die Ports 22 (SSH) und 80 (HTTP) als offen identifiziert. Dies deutet darauf hin, dass ein SSH-Server und ein Webserver auf dem Zielsystem laufen.
Der vollständige nmap-Scan liefert detailliertere Informationen:
Wir verwenden nikto, um den Webserver auf bekannte Schwachstellen und Konfigurationsfehler zu überprüfen.
nikto hat mehrere potenzielle Schwachstellen und Konfigurationsfehler gefunden:
/images-Verzeichnisses.index.php./images-Verzeichnis aktiviert.Wir verwenden gobuster, um weitere Dateien und Verzeichnisse auf dem Webserver zu entdecken.
gobuster hat mehrere PHP-Dateien und das images-Verzeichnis gefunden. Besonders interessant ist die file.php, die in Kombination mit der von nikto gefundenen LFI-Schwachstelle ausgenutzt werden könnte. Die connect.php gibt einen 500-Fehler zurück, was auf einen Konfigurationsfehler hindeutet.
Wir nutzen die von nikto identifizierte LFI-Schwachstelle, um die Datei /etc/passwd auszulesen und die vorhandenen Benutzer zu identifizieren.
Durch die LFI-Schwachstelle konnten wir die Benutzer root, andrew und nick identifizieren. Diese Information ist nützlich für spätere Angriffe.
Im Folgenden demonstrieren wir, wie die identifizierte LFI-Schwachstelle in index.php in Kombination mit der file.php ausgenutzt werden kann, um beliebige Dateien auf dem Zielsystem auszulesen und schließlich Code auszuführen.
Wir versuchen, die Datei style.css über die LFI-Schwachstelle und den file Parameter auszulesen.
The requested URL was not found on this server.
Das Auslesen der style.css Datei schlägt fehl und wir erhalten eine 404 Not Found Meldung
Um die LFI-Schwachstelle auszunutzen und Befehle auszuführen, verwenden wir einen PHP-Filter-Chain-Generator, um einen Payload zu erstellen, der den Parameter cmd aus der GET-Anfrage ausliest und ausführt.
Die Ausgabe ist sehr lang, da sie den kompletten Payload enthält, der für die Ausführung des Befehls id erforderlich ist.
Die Ausführung des Befehls ls über die LFI-Schwachstelle liefert eine Liste der Dateien im Webverzeichnis. Dies bestätigt, dass die Schwachstelle erfolgreich ausgenutzt werden kann.
Nachdem wir uns versichert haben das die LFI Funktioniert und wir Befehle ausführen können versuchen wir jetzt eine Reverse Shell zu bekommen.
Wir verwenden wieder den PHP-Filter um ein Reverse Shell zu starten.
Die Reverse Shell als www-data wurde erfolgreich gestartet.
Wir listen das /etc/passwd aus, um die User zu bestätigen.
Wir suchen nach Dateien mit Capabilities und finden das php8.1 das Cap_setuid hat.
Wir haben erfolgreich unsere Privilegien erhöht und sind nun Root.
Root-Flag: HMV{This-was-a-Quick-AND-fast-machine}
User-Flag: HMV{Its-gonna-be-a-fast-ride}
Wir beginnen mit der Netzwerk-Reconnaissance, um das Zielsystem im lokalen Netzwerk zu identifizieren. Hier verwenden wir
arp-scan, um die IP-Adresse und MAC-Adresse des Ziels zu ermitteln.